package main

import "fmt"

// createNewSlice 创建一个新切片，如果原始数组只有1个或者没有元素，则返回包含原始切片所有元素的新切片
// 如果原始数组元素个数 >=2，则创建新切片，元素是原始数组相邻2项的和
func createNewSlice(arr []int) []int {
	if len(arr) < 2 {
		newArr := make([]int, len(arr))
		copy(newArr, arr)
		return newArr
	}

	newArr := make([]int, 0, len(arr)-1)
	for i := 0; i < len(arr)-1; i++ {
		newArr = append(newArr, arr[i]+arr[i+1])
	}
	return newArr
}

func main() {
	// arr := []int{1}
	arr := []int{1, 4, 9, 16, 2, 5, 10, 15}
	newArr := createNewSlice(arr)
	fmt.Println(newArr)
}
